#ifndef mesinkata_H
#define mesinkata_H

#include "mesinkar.h"

#define NMax 256
#define BLANK ' '

typedef struct {
	char TabKata[NMax+1];
	int length;
}Kt;

//STATE MESIN KATA
bool EndKata;
Kt CKata;

void IgnoreBlank();
/*
Mengabaikan satu atau beberapa BLANK atau '\n'
I.S. : CC sembarang
F.S. : CC tidak BLANK atau '\n', mungkin EOF
*/
void STARTKATA();
/*
I.S. : CC sembarang
F.S. : CKata sudah diakuisisi
       CC karakter pertama sesudah kata terakhir Ckata
*/
void ADVKATA();
/*
I.S. : CC karakter pertama kata yang akan diakuisisi
F.S. : CKata adalah kata terakhir yang diakuisisi
       CC karakter pertama kata berikutnya, mungkin mark
Proses : Menggunakan salin kata
*/
void SalinKata();
/*
Mengakuisisi kata, menyimpan dalam CKata
I.S. : CC adalah karakter pertama dalam CKata
F.S. : CKata berisi kata yang diakuisisi
       CC == BLANK atau CC == MARK atau CC == EOF
       CC karakter pertama sesudah kata terakhir yang diakuisisi
*/
#endif
